<?php

namespace app\common\service\ai;

use think\facade\Db;
use app\common\service\CommonService;

/**
 * 视频
 */
class VideoService extends CommonService {

    /**
     * 表名
     * @static string
     */
    protected static $table = 'video';
    
    /**
     * 列表
     * @param array $data 数据
     * @return array
     */
    public static function getList($data) {
        $list = self::query(self::$table)->_equal('member_id')->order('id desc')->_select();
        return $list;
    }
    
    /**
     * 列表
     * @param array $data 数据
     * @return array
     */
    public static function getListByAdmin($data) {
        $list = self::query(self::$table)->order('id desc')->_page(true);
        return $list;
    }
    
    /**
     * 列表
     * @param array $data 数据
     * @return array
     */
    public static function getListByHome($data) {
        $list = self::query(self::$table)->_equal('member_id')->order('id desc')->_page(true);
        return $list;
    }
    
    /**
     * 列表
     * @param array $data 数据
     * @return array
     */
    public static function getListBySelect($data) {
        $list = self::query(self::$table)->_equal('member_id')->order('id desc')->_select();
        return $list;
    }
    
    /**
     * 详情
     * @param array $data 数据
     * @return array
     */
    public static function getDetail($data) {
        return self::query(self::$table)->where(['id' => self::ID($data)])->_find();
    }
    
    /**
     * 详情
     * @param array $data 数据
     * @return array
     */
    public static function getDetailByAdmin($data) {
        return self::query(self::$table)->where(['id' => self::ID($data)])->_find();
    }
    
    /**
     * 新增
     * @param array $data 数据
     * @return mixed
     */
    public static function add($data) {
        $data["cover"] = str_replace(".mp4", "_0.jpg", $data["url"]);
        $result = self::model()->_insert(self::$table, $data, false);
        !$result && exception();
        return success();
    }
    
    /**
     * 编辑
     * @param array $data 数据
     * @return mixed
     */
    public static function edit($data) {
        $result = self::model()->_update(self::$table, $data, self::ID($data), false);
        !$result && exception();
        return success();
    }

    /**
     * 删除
     * @param array $data 数据
     * @return mixed
     */
    public static function del($data) {
        $result = self::model()->_delete(self::$table, self::ID($data));
        !$result && exception();
        return success();
    }

}
